const arr = [
    [-5]
]

/**
 * @param {number[][]} matrix
 * @param {number} target
 * @return {boolean}
 */

/*
标签：数组遍历
从矩阵的左下角看，上方的数字都比其小，右方的数字都比其大，所以依据该规律去判断数字是否存在
设当前数字为 cur，目标数字为 target，当 target < cur 时，cur 更新为其上面的数字，当 target > cur 时，cur 更新为其右侧的数字，直到相等则返回 true，否则到了矩阵边界返回 false
时间复杂度：O(m+n)O(m+n)
*/
var findNumberIn2DArray = function(matrix, target) {
    let x = 0,y=matrix.length-1
    while(x<matrix[0].length && y >= 0){
        if (matrix[y][x] > target){
            y-=1
        }else if (matrix[y][x] < target){
            x++
        }else {
            return true
        }
    }
    return false
};


console.log(findNumberIn2DArray(arr,-10))
